The speed of data input can directly affect the efficiency of any computing device. An alphanumeric input device, such as a keyboard, is the most common way for a user to input textual data to a computing device. One feature of a keyboard is providing the user the ability to input every character in the writing system of the language that the user is working in. The writing system, or script, is the series of characters used for the written form of a particular language. For certain languages, such as English, which make use of the Roman alphabet having 26 characters, a keyboard can generally have enough keys for a one to one mapping ratio, where each character is mapped to a separate key on the keyboard.
The size of the keyboard and the number of keys thereon have practical limitations, however. At some point, both the size of and the number of keys on a keyboard may become unwieldy. For languages written in scripts having a higher number of characters, it may be unmanageable to have a one to one mapping ratio of characters to keys on the keyboard. The Devanagari script, for example, which is used in many Indic languages such as Bodo, Dogri, Hindi, Kashmiri, Konkani, Maithili, Marathi, Nepali, and Sindhi, includes approximately 128 characters. Keyboards which support text input in the Devanagari script may typically have a character to key mapping ratio of at least three to one. With multiple characters mapped to each key, the character selection can be made through the use of modifier keys (e.g., the SHIFT key, CTRL key, etc.) This, however, requires the user to make many additional keystrokes when inputting textual data in a language making use of such a writing system. These additional keystrokes take up valuable time and decrease the user's efficiency.